O Metacritic é conhecido por ser um site com uma crítica excelente aos jogos que também faz críticas a outros temas como: filmes/séries, músicas e shows de TV.
Nele podemos ver reviews de revistas ou sites da crítica que compõe uma nota final conhecida como Metascore, e notas e reviews de usuários que formam o Userscore, e estes determinam se tal filme, série ou jogo "está bem na fita" como esse do GTA Trilogy que virou até meme por está em uma das piores notas de todos os tempos para jogos.
Em uma das abas do Metacritic há um ranking por Metascore de Jogos, e é onde estão os jogos de pelo menos 7 reviews dos críticos1 no site. E lá podemos observar os melhores, os mais clássicos, os mais atuais, e os piores.
Para fim de projeto irei analisar esse ranking tirando proveito das ferramentas do Python: Pandas e Plotly
Ao examinar como o Metascore é feito, o metacritic divide o Metascore em 3 tipos:
Verde - BomAmarelo - MédioVermelho - RuimMas para ser mais preciso, é assim que os pontos são organizados:

O que podemos tirar de proveito desse dataset? Elaborei algumas perguntas para nosso EDA(Exploratory Data Analysis) Link para o Download do Dataset
Antes disso, vamos saber como nossos dados estão organizados
import pandas as pd
import plotly.express as px
import plotly.graph_objects as go
# vamos usar o delimitador que está com ';' em vez de ','. e converter a coluna 'Release Date' de object para datetime64
metacritic = pd.read_csv('dataset/Best Video Games of All Time.csv', delimiter=';', parse_dates=["Release Date"])
metacritic.head()
| Game | Ranking | Metascore | Platform | Release Date | |
|---|---|---|---|---|---|
| 0 | The Legend of Zelda: Ocarina of Time | 1 | 99 | Nintendo 64 | 1998-11-23 |
| 1 | Tony Hawk's Pro Skater 2 | 2 | 98 | PlayStation | 2000-09-20 |
| 2 | Grand Theft Auto IV | 3 | 98 | PlayStation 3 | 2008-04-29 |
| 3 | SoulCalibur | 4 | 98 | Dreamcast | 1999-09-08 |
| 4 | Grand Theft Auto IV | 5 | 98 | Xbox 360 | 2008-04-29 |
metacritic.info()
<class 'pandas.core.frame.DataFrame'> RangeIndex: 19106 entries, 0 to 19105 Data columns (total 5 columns): # Column Non-Null Count Dtype --- ------ -------------- ----- 0 Game 19106 non-null object 1 Ranking 19106 non-null int64 2 Metascore 19106 non-null int64 3 Platform 19106 non-null object 4 Release Date 19106 non-null datetime64[ns] dtypes: datetime64[ns](1), int64(2), object(2) memory usage: 597.1+ KB
Não há valor nulo em nosso dataset, Release Date está em datetime64, e nosso dataset está pesando ~600KB em nossa máquina. Agora podemos ver um resumo estatístico das nossas colunas númericas, Ranking e Metascore
metacritic.describe().round(1)
| Ranking | Metascore | |
|---|---|---|
| count | 19106.0 | 19106.0 |
| mean | 9553.5 | 70.6 |
| std | 5515.6 | 12.3 |
| min | 1.0 | 11.0 |
| 25% | 4777.2 | 64.0 |
| 50% | 9553.5 | 72.0 |
| 75% | 14329.8 | 79.0 |
| max | 19106.0 | 99.0 |
Podemos ver que para Ranking há medidas estranhas, pois são todos únicos. Podemos provar da seguinte forma.
# visualizar o número de linhas e colunas do dataset
metacritic.shape
(19106, 5)
metacritic["Ranking"].value_counts().sum() == len(metacritic.index)
True
Podemos observar que cada valor é único pois sua soma dá o tamanho das linhas dentro do dataset.
Podemos também subdividir os pontos(scores) em bins/buckets em tipos de metascores, como vimos lá em cima
types_of_metascore = ["Overwhelming Dislike", "Unfavorable Reviews", "Mixed or Average", "Favorable Reviews", "Universal Acclaim"]
bins = [0, 19, 49, 74, 89, 100]
metacritic["Type Of Metascore"] = pd.cut(metacritic["Metascore"], bins=bins, labels=types_of_metascore)
E também criar uma coluna de cores, para identificar cada tipo de pontuação(Boa, Média ou Ruim)
metacritic["Color"] = pd.cut(metacritic["Metascore"], bins=[0, 49, 74, 100], labels=["Red", "Yellow", "Green"])
# a fim de teste, testarei se todos os pontos mixed/average estão em amarelo.
metacritic[ (metacritic["Metascore"] >= 50) & (metacritic["Metascore"] <= 74) ]["Color"].value_counts()
Yellow 9797 Red 0 Green 0 Name: Color, dtype: int64
metacritic.head()
| Game | Ranking | Metascore | Platform | Release Date | Type Of Metascore | Color | |
|---|---|---|---|---|---|---|---|
| 0 | The Legend of Zelda: Ocarina of Time | 1 | 99 | Nintendo 64 | 1998-11-23 | Universal Acclaim | Green |
| 1 | Tony Hawk's Pro Skater 2 | 2 | 98 | PlayStation | 2000-09-20 | Universal Acclaim | Green |
| 2 | Grand Theft Auto IV | 3 | 98 | PlayStation 3 | 2008-04-29 | Universal Acclaim | Green |
| 3 | SoulCalibur | 4 | 98 | Dreamcast | 1999-09-08 | Universal Acclaim | Green |
| 4 | Grand Theft Auto IV | 5 | 98 | Xbox 360 | 2008-04-29 | Universal Acclaim | Green |
metacritic["Type Of Metascore"].value_counts()
Mixed or Average 9797 Favorable Reviews 7553 Unfavorable Reviews 1202 Universal Acclaim 545 Overwhelming Dislike 9 Name: Type Of Metascore, dtype: int64
# se quisessemos usar o groupby
# metacritic.groupby("Platform").count()["Game"].sort_values(ascending=False)
# para simplificar
metacritic["Platform"].value_counts()
PC 4968 PlayStation 4 2073 Xbox 360 1665 Switch 1456 PlayStation 2 1421 PlayStation 3 1265 Xbox One 1182 Xbox 794 DS 728 Wii 663 PSP 514 GameCube 452 Game Boy Advance 442 3DS 398 PlayStation Vita 258 PlayStation 189 Wii U 186 PlayStation 5 153 Dreamcast 126 Xbox Series X 97 Nintendo 64 71 Stadia 5 Name: Platform, dtype: int64
A plataforma de PC é a mais popular, e entre os primeiros 5 há o clássico Xbox 360 com mais de 1600 jogos. O Stadia é o que menos contando com 5 jogos, e entre as últimas 5 plataformas, estão os mais recentes: Xbox Series X com 97 jogos, e PlayStation 5 com 153 jogos.
metacritic["Release Date"].dt.year.value_counts().reset_index().sort_values(by="index", ascending=False)
| index | Release Date | |
|---|---|---|
| 26 | 2022 | 2 |
| 6 | 2021 | 942 |
| 1 | 2020 | 1087 |
| 3 | 2019 | 1014 |
| 0 | 2018 | 1149 |
| 2 | 2017 | 1057 |
| 4 | 2016 | 984 |
| 10 | 2015 | 864 |
| 17 | 2014 | 779 |
| 18 | 2013 | 766 |
| 15 | 2012 | 797 |
| 11 | 2011 | 860 |
| 13 | 2010 | 842 |
| 5 | 2009 | 967 |
| 7 | 2008 | 940 |
| 8 | 2007 | 934 |
| 9 | 2006 | 892 |
| 12 | 2005 | 860 |
| 19 | 2004 | 726 |
| 14 | 2003 | 810 |
| 16 | 2002 | 786 |
| 20 | 2001 | 546 |
| 21 | 2000 | 355 |
| 22 | 1999 | 53 |
| 23 | 1998 | 45 |
| 24 | 1997 | 28 |
| 25 | 1996 | 20 |
| 27 | 1995 | 1 |
A maioria dos jogos avaliados pela crítica concentram-se entre 2016 a 2020.
metacritic[(metacritic["Platform"] == "Wii") & (metacritic["Metascore"] >= 75)].head(15)
| Game | Ranking | Metascore | Platform | Release Date | Type Of Metascore | Color | |
|---|---|---|---|---|---|---|---|
| 5 | Super Mario Galaxy | 6 | 97 | Wii | 2007-11-12 | Universal Acclaim | Green |
| 6 | Super Mario Galaxy 2 | 7 | 97 | Wii | 2010-05-23 | Universal Acclaim | Green |
| 57 | The Legend of Zelda: Twilight Princess | 58 | 95 | Wii | 2006-11-19 | Universal Acclaim | Green |
| 67 | World of Goo | 68 | 94 | Wii | 2008-10-13 | Universal Acclaim | Green |
| 116 | Super Smash Bros. Brawl | 117 | 93 | Wii | 2008-03-09 | Universal Acclaim | Green |
| 162 | The Legend of Zelda: Skyward Sword | 163 | 93 | Wii | 2011-11-20 | Universal Acclaim | Green |
| 210 | Rock Band 2 | 211 | 92 | Wii | 2008-12-18 | Universal Acclaim | Green |
| 259 | Xenoblade Chronicles | 260 | 92 | Wii | 2012-04-06 | Universal Acclaim | Green |
| 266 | Rayman Origins | 267 | 92 | Wii | 2011-11-15 | Universal Acclaim | Green |
| 289 | Rock Band 3 | 290 | 91 | Wii | 2010-10-26 | Universal Acclaim | Green |
| 290 | Metroid Prime Trilogy | 291 | 91 | Wii | 2009-08-24 | Universal Acclaim | Green |
| 317 | Resident Evil 4: Wii Edition | 318 | 91 | Wii | 2007-06-19 | Universal Acclaim | Green |
| 484 | Okami | 485 | 90 | Wii | 2008-04-15 | Universal Acclaim | Green |
| 500 | Metroid Prime 3: Corruption | 501 | 90 | Wii | 2007-08-27 | Universal Acclaim | Green |
| 588 | The Beatles: Rock Band | 589 | 89 | Wii | 2009-09-09 | Favorable Reviews | Green |
metacritic[ metacritic["Metascore"] >= 75 ].sort_values(by=["Release Date", "Metascore"], ascending=[True, False]).head(15)
| Game | Ranking | Metascore | Platform | Release Date | Type Of Metascore | Color | |
|---|---|---|---|---|---|---|---|
| 1445 | Full Throttle | 1446 | 86 | PC | 1995-04-30 | Favorable Reviews | Green |
| 656 | Duke Nukem 3D | 657 | 89 | PC | 1996-01-29 | Favorable Reviews | Green |
| 88 | Sid Meier's Civilization II | 89 | 94 | PC | 1996-02-29 | Universal Acclaim | Green |
| 353 | Resident Evil | 354 | 91 | PlayStation | 1996-03-30 | Universal Acclaim | Green |
| 89 | Quake | 90 | 94 | PC | 1996-06-22 | Universal Acclaim | Green |
| 4511 | Time Commando | 4512 | 80 | PC | 1996-07-31 | Favorable Reviews | Green |
| 611 | Tekken 2 | 612 | 89 | PlayStation | 1996-08-25 | Favorable Reviews | Green |
| 113 | Super Mario 64 | 114 | 94 | Nintendo 64 | 1996-09-26 | Universal Acclaim | Green |
| 4448 | Pilotwings 64 | 4449 | 80 | Nintendo 64 | 1996-09-29 | Favorable Reviews | Green |
| 178 | Wipeout XL | 179 | 93 | PlayStation | 1996-09-30 | Universal Acclaim | Green |
| 4675 | Circle of Blood | 4676 | 80 | PC | 1996-09-30 | Favorable Reviews | Green |
| 2331 | Master of Orion II: Battle at Antares | 2332 | 84 | PC | 1996-10-01 | Favorable Reviews | Green |
| 249 | Wave Race 64 | 250 | 92 | Nintendo 64 | 1996-11-01 | Universal Acclaim | Green |
| 314 | Tomb Raider | 315 | 91 | PlayStation | 1996-11-15 | Universal Acclaim | Green |
| 544 | Command & Conquer: Red Alert | 545 | 90 | PC | 1996-11-22 | Universal Acclaim | Green |
Os jogos mais antigos avaliados são da plataforma de: PC, PlayStation(PS1) e Nintendo 64
metacritic[ metacritic["Metascore"] >= 75 ].sort_values(by=["Release Date", "Metascore"], ascending=[False, False]).head(15)
| Game | Ranking | Metascore | Platform | Release Date | Type Of Metascore | Color | |
|---|---|---|---|---|---|---|---|
| 149 | God of War | 150 | 93 | PC | 2022-01-14 | Universal Acclaim | Green |
| 820 | Monster Hunter Rise | 821 | 88 | PC | 2022-01-12 | Favorable Reviews | Green |
| 1222 | Final Fantasy VII Remake Intergrade | 1223 | 87 | PC | 2021-12-16 | Favorable Reviews | Green |
| 8053 | Aeterna Noctis | 8054 | 75 | PC | 2021-12-15 | Favorable Reviews | Green |
| 2096 | Shovel Knight Pocket Dungeon | 2097 | 84 | PC | 2021-12-13 | Favorable Reviews | Green |
| 2018 | Loop Hero | 2019 | 84 | Switch | 2021-12-09 | Favorable Reviews | Green |
| 5947 | Wytchwood | 5948 | 78 | PC | 2021-12-09 | Favorable Reviews | Green |
| 7501 | After the Fall | 7502 | 75 | PC | 2021-12-09 | Favorable Reviews | Green |
| 1198 | Halo Infinite | 1199 | 87 | Xbox Series X | 2021-12-08 | Favorable Reviews | Green |
| 3456 | Halo Infinite | 3457 | 81 | PC | 2021-12-08 | Favorable Reviews | Green |
| 154 | Final Fantasy XIV: Endwalker | 155 | 93 | PlayStation 5 | 2021-12-07 | Universal Acclaim | Green |
| 308 | Final Fantasy XIV: Endwalker | 309 | 91 | PC | 2021-12-07 | Universal Acclaim | Green |
| 5317 | Wolfstride | 5318 | 79 | PC | 2021-12-07 | Favorable Reviews | Green |
| 7018 | Life is Strange: True Colors | 7019 | 76 | Switch | 2021-12-07 | Favorable Reviews | Green |
| 7718 | Heavenly Bodies | 7719 | 75 | PlayStation 5 | 2021-12-07 | Favorable Reviews | Green |
PC continua reinando, mas com eles, os jogos da nova geração Switch, Xbox Series X e PlayStation 5
uniques = metacritic.drop_duplicates(subset="Game", keep=False)
uniques[uniques["Metascore"] >= 75].head(15)
| Game | Ranking | Metascore | Platform | Release Date | Type Of Metascore | Color | |
|---|---|---|---|---|---|---|---|
| 0 | The Legend of Zelda: Ocarina of Time | 1 | 99 | Nintendo 64 | 1998-11-23 | Universal Acclaim | Green |
| 5 | Super Mario Galaxy | 6 | 97 | Wii | 2007-11-12 | Universal Acclaim | Green |
| 6 | Super Mario Galaxy 2 | 7 | 97 | Wii | 2010-05-23 | Universal Acclaim | Green |
| 18 | Metroid Prime | 19 | 97 | GameCube | 2002-11-17 | Universal Acclaim | Green |
| 20 | Super Mario Odyssey | 21 | 97 | Switch | 2017-10-27 | Universal Acclaim | Green |
| 22 | NFL 2K1 | 23 | 97 | Dreamcast | 2000-09-07 | Universal Acclaim | Green |
| 28 | Uncharted 2: Among Thieves | 29 | 96 | PlayStation 3 | 2009-10-13 | Universal Acclaim | Green |
| 33 | Tekken 3 | 34 | 96 | PlayStation | 1998-04-29 | Universal Acclaim | Green |
| 35 | The House in Fata Morgana - Dreams of the Reve... | 36 | 96 | Switch | 2021-04-09 | Universal Acclaim | Green |
| 40 | The Legend of Zelda: The Wind Waker | 41 | 96 | GameCube | 2003-03-24 | Universal Acclaim | Green |
| 41 | Gran Turismo | 42 | 96 | PlayStation | 1998-04-30 | Universal Acclaim | Green |
| 43 | Metal Gear Solid 2: Sons of Liberty | 44 | 96 | PlayStation 2 | 2001-11-12 | Universal Acclaim | Green |
| 44 | Grand Theft Auto Double Pack | 45 | 96 | Xbox | 2003-10-31 | Universal Acclaim | Green |
| 45 | Baldur's Gate II: Shadows of Amn | 46 | 95 | PC | 2000-09-24 | Universal Acclaim | Green |
| 50 | The Legend of Zelda Collector's Edition | 51 | 95 | GameCube | 2003-11-17 | Universal Acclaim | Green |
pessimo_jogos = metacritic[ metacritic["Metascore"] <= 49 ].sort_values(by="Metascore")
pessimo_jogos.head(15)
| Game | Ranking | Metascore | Platform | Release Date | Type Of Metascore | Color | |
|---|---|---|---|---|---|---|---|
| 19105 | Family Party: 30 Great Games Obstacle Arcade | 19106 | 11 | Wii U | 2012-12-04 | Overwhelming Dislike | Red |
| 19104 | Ride to Hell: Retribution | 19105 | 16 | PC | 2013-06-24 | Overwhelming Dislike | Red |
| 19102 | Leisure Suit Larry: Box Office Bust | 19103 | 17 | PlayStation 3 | 2009-05-05 | Overwhelming Dislike | Red |
| 19101 | Vroom in the Night Sky | 19102 | 17 | Switch | 2017-04-05 | Overwhelming Dislike | Red |
| 19100 | Double Dragon II: Wander of the Dragons | 19101 | 17 | Xbox 360 | 2013-04-05 | Overwhelming Dislike | Red |
| 19103 | Yaris | 19104 | 17 | Xbox 360 | 2007-10-10 | Overwhelming Dislike | Red |
| 19099 | SPOGS Racing | 19100 | 18 | Wii | 2008-07-07 | Overwhelming Dislike | Red |
| 19098 | Ride to Hell: Retribution | 19099 | 19 | Xbox 360 | 2013-06-25 | Overwhelming Dislike | Red |
| 19097 | Alone in the Dark: Illumination | 19098 | 19 | PC | 2015-06-11 | Overwhelming Dislike | Red |
| 19096 | Deal or No Deal | 19097 | 20 | DS | 2007-07-23 | Unfavorable Reviews | Red |
| 19095 | Leisure Suit Larry: Box Office Bust | 19096 | 20 | PC | 2009-03-31 | Unfavorable Reviews | Red |
| 19094 | Infestation: Survivor Stories (The War Z) | 19095 | 20 | PC | 2012-10-15 | Unfavorable Reviews | Red |
| 19093 | Afro Samurai 2: Revenge of Kuma Volume One | 19094 | 21 | PlayStation 4 | 2015-09-22 | Unfavorable Reviews | Red |
| 19092 | Drake of the 99 Dragons | 19093 | 22 | Xbox | 2003-11-03 | Unfavorable Reviews | Red |
| 19091 | Fast & Furious: Showdown | 19092 | 22 | Xbox 360 | 2013-05-21 | Unfavorable Reviews | Red |
pessimo_jogos.shape
(1211, 7)
Podemos ver que são poucos os jogos abaixo de 19 Metascore, mas há muitos que chegam a ser considerados jogos ruins para a crítica. Variando um pouco em anos e plataformas. Ficando claro que são poucas exceções de bons jogos.
Com o data visualization podemos entender melhor nossos dados visualmente, interpretando-os melhor, e tirando conclusões mais concissas e completas.
fig_platform = metacritic["Platform"].value_counts()
px.bar(fig_platform, x=fig_platform.index, y=fig_platform.values, labels={'y': 'Games', 'index': 'Platforms'})
fig_by_platform_color = metacritic.groupby("Platform")["Color"].value_counts().reset_index().rename({"Color": "Games", "level_1": "Color"}, axis=1).sort_values(by="Games", ascending=False)
fig = px.bar(fig_by_platform_color, x="Platform", y="Games", color="Color", color_discrete_sequence=["#fdd139", "#63d035", "#fc1212"])
fig.update_layout(title_text="Jogos por plataforma")
As avaliações médias/mistas são levemente proporcionais às avaliações altas por plataforma, tendo algumas exceções de avaliações baixas. PC é a plataforma com mais avaliações de jogos, sendo muitas delas médias/mistas e altas. Já em plataformas de video games, PS4 é o maior. Também com um grande número de avaliações, temos os clássicos: Xbox 360 e PlayStation 2 sendo um dos maiores presentes no ranking por plataforma, porém tendo mais avaliações medianas do que boas.
fig_release_date = metacritic["Release Date"].dt.year.value_counts()
labels = {"y": "Games", "index": "Release Date"}
fig = px.bar(fig_release_date, x=fig_release_date.index, y=fig_release_date.values, labels=labels)
fig.update_traces(marker_color="cornflowerblue")
fig_by_colors = metacritic.groupby(metacritic["Release Date"].dt.year)["Color"].value_counts().reset_index().rename({"Color": "Games", "level_1": "Color"}, axis=1)
fig = px.bar(fig_by_colors, x="Release Date", y="Games", color="Color", color_discrete_sequence=["#63d035", "#fc1212", "#fdd139"])
fig.update_layout(title_text="Jogos por ano", barmode="stack")
O gráfico mostra que há mais avaliações boas e médias/mistas, do que ruins. Pode-se interpretar também que depois do ano de 2015, as avaliações ruins ficaram menores em comparações com os anos anteriores, além de ter um aumento significativo de números de jogos entre esses anos(2015-2020).
Nessa análise fiz o uso da ferramenta Pandas, mostrando na prática como ela pode ser usada: subdivisão em bins/buckets, queries para trazer dados mais específicos; descrição estatística dos dados; informações técnicas dos dados; o uso do groupby para organização com o objetivo de visualizar melhor os dados, etc.
Usei a lib de gráficos interativos Plotly para visualização dos nossos dados.
Observamos como é organizado o sistema de Metascore no site Metacritic, a quantia de jogos presentes no ranking, o número de avaliações por Metascore(Boa, Média, e Ruim) e o número de jogos e avaliações organizadas por ano.E Então podemos concluir que se tivermos uma empresa em que precise saber em qual plataforma deve fazer um jogo: essa plataforma é o de PC, sendo a mais avaliada. Também podemos concluir que a crítica contribuiu mais em avaliações nos anos de 2016 a 2020 do que nos anos anteriores, passando de 1000 avaliações, podendo ser por conta da crescente número de jogos desenvolvidos depois de 2015, e o aumento de qualidade destes.